const express = require("express")
const fs = require("fs")
const path = require("path")
const router = express.Router()

// 班级列表
router.get("/", (req, res) => {
    // 第一个参数是模板名称
    res.render("class")
})

router.get("/add", (req, res) => {
    res.render("class-add")
})

router.post("/", (req, res) => {
    // 拿到数据  req.body
    // 写入文件  第一个参数 文件路径（绝对） 第二个 你要写入的数据 第三个 回调函数
    // console.log(path.resolve("datas", "cdata.json"));
    // 不能写对象 ，只能写字符串  对象转为字符串
    // 注意json文件只能是一个对象 用大括号包围
    // {data: [{"电商技术二班"},{"电商技术二班"}]}
    // console.log(JSON.stringify(req.body)); 
    // console.log(typeof JSON.stringify(req.body));
    // 格式化数据
    let writeData = {
        data: [req.body]
    } 
    // console.log(writeData);
    // 分为两种情况讨论
    fs.readFile(path.resolve("datas", "cdata.json"), "utf-8", (err, data) => {
        if(err){
            return res.send({
                err: true,
                msg: "文件读取错误"
            })
        }
         // 1.第一次写入 读取文件 是不是空
        if(!data || data == ""){
            // 直接写
            fs.writeFile(path.resolve("datas", "cdata.json"),  JSON.stringify(writeData), (err) => {
                if(err){
                    return res.send({
                        err: true,
                        msg: "文件写入错误"
                    })
                }
                res.send({
                    err: false,
                    msg: "数据添加成功"
                })
            })
        } else {
            // 第二次写入
            // 字符串变为对象  JSON.parser
            let oldData = JSON.parse(data)
            oldData.data.push(req.body)
            fs.writeFile(path.resolve("datas", "cdata.json"),  JSON.stringify(oldData), (err) => {
                if(err){
                    return res.send({
                        err: true,
                        msg: "文件写入错误"
                    })
                }
                res.send({
                    err: false,
                    msg: "数据添加成功"
                })
            })
        }
    })  
})

router.put("/", (req, res) => {
    res.send("修改班级")
})

router.get("/edit", (req, res) => {
    res.render("class-edit")
})

router.delete("/", (req, res) => {
    res.send("删除班级")
})

module.exports = router